---

title: "Kubernetes Downward"
date: 2023-04-02T03:02:40+03:00
description: "Немного о downward"
tags: ["k8s", "downward"]
ShowToc: true
ShowBreadCrumbs: true
draft: false
---

[Downward](https://kubernetes.io/docs/concepts/workloads/pods/downward-api/)

Иногда полезно, чтобы контейнер имел информацию о себе, не слишком привязываясь к Kubernetes. Нисходящий API позволяет контейнерам получать информацию о себе или о кластере без использования клиента Kubernetes или сервера API.

Чаще всего используется следующая информация:

1. Имя пода в котором запущено приложение (В большинстве случаев “подом” управляет некая абстракция, например Deployment который каждый раз присваивает случайное имя пода).
2. Внутренний IP адрес пода в котором запущено приложение.
3. Имя узла на котором запущено приложение.
4. Метки или аннотации “пода”.
5. Запросы \ ограничения по ЦП и памяти для каждого контейнера внутри “пода”.
6. Рабочее пространство(namespace) в котором запущен под.

К явным преимуществам Downward API можно отнести:

1. Возможность держать ваше приложение платформенно-независимым от кубрнетес, так как многие существующие приложения часто используют значения из переменных окружения.
2. При интеграции старого приложения в кубернетес отпадает необходимость писать shell скрипты для сбора данные и дальнейшего предоставления к ним доступа через переменные виртуального окружения.
